// 导入API
import { getFn } from '../api/index'

// 导出考试数据模块
export default {
    // 设置命名空间
    namespaced: true,
    // json格式数据
    // 储存数据
    state: {
        // 考试分类 （专业方向）
        categories: [
            // { text: "前端", id: 1 },
        ],
        // 试卷列表
        examination: [
            // {
            //     text: "前端",
            //     id: 1,// 分类ID
            //     name: "HTMLCSS考试",
            //     eid: 11,// 试卷ID
            //     total: 100,//满分
            //     passline: 60, // 及格线
            //     time: 7200// 秒数 （2小时）
            // },
          
        ],
        // 题目列表 （动态请求题目列表就不放在这个位置）
        // topic: [
            // {
            //     name: "HTMLCSS考试",
            //     eid: 11,// 试卷ID
            //     tid: 1,// 题目id
            //     question: "HTML是什么1111?",//题目
            //     answer: "A",//正确答案
            //     score: 10,//分值
            //     option: [
                    // {
                    //     key: "A",
                    //     value: "HTML是超文本",
                    // },
                    // {
                    //     key: "B",
                    //     value: "HTML是纯文本",
                    // },
                    // {
                    //     key: "C",
                    //     value: "HTML是富文本",
                    // }
                    // ,
                    // {
                    //     key: "D",
                    //     value: "啥也不是",
                    // }
            //     ]
            // },
           
        // ]
    },
    // 读取数据（相当于computed 只读不写）
    getters: {
    },
    // 用于修改state对象下的数据
    mutations: {
        // 用于修改state对象下的数据
        addCateGory(state,value){
            state.categories = value;
        },
        addExamination(state,value){
            state.examination = value;
        },
    },
    // 用于执行mutations对象下的方法（异步）
    actions: {
        // 用于执行mutation对象下的方法（凡是涉及异步操作，都在这个action对象下操作）
        // 获取分类名称
        async addCateGoryFn($store){
            // 调用网络请求接口
            await getFn(`/api/exam/category_list`).then(
                content => {
                    // 解构赋值
                    let {code , result } = content;
                    if(code == 200) {
                        // 提交mutation对象下的方法
                        $store.commit('addCateGory', result)
                    }
                }
            )
        },

        // 获取试卷列表
        async addExaminationFn($store){
            // 调用网络请求接口
            await getFn(`/api/exam/exam_list_all`).then(
                content => {
                    // 解构赋值
                    let {code , result } = content;
                    if(code == 200) {
                        // console.log('2.0:',result);
                        // 提交mutation对象下的方法
                        $store.commit('addExamination', result)
                    }
                }
            )
        },

    },
}